﻿using PLCS.Domain.Shared.Tasks;
using PLCS.Domain.Tasks;

namespace PLCS.Application.Contracts.TaskApp.Dtos;

public class InstructionDto : EntityDto<Guid>
{
    /// <summary>
    /// 指令号
    /// </summary>
    public int InstructionNo { get; set; }

    /// <summary>
    /// 执行设备编号
    /// </summary>
    public string EquipmentNo { get; set; }

    /// <summary>
    /// 指令类型
    /// </summary>
    public InstructionType InstructionType { get; set; }

    public string? ContainStationNo { get; set; }

    /// <summary>
    /// 起始位
    /// </summary>
    public string? StartPos { get; set; }

    /// <summary>
    /// 目标位
    /// </summary>
    public string? EndPos { get; set; }

    /// <summary>
    /// 托盘类型
    /// </summary>
    public TrayType TrayType { get; set; }

    /// <summary>
    /// 指令状态
    /// </summary>
    public Domain.Shared.Tasks.TaskStatus Status { get; set; }

    /// <summary>
    /// 启动时坐标
    /// </summary>
    public int InitalPos { get; set; }

    /// <summary>
    /// 坐标行走用
    /// </summary>
    public int MovePos { get; set; }

    public DateTime CreationTime { get; set; }
    public string UnexecutedReason { get; set; }
}